<script setup lang="ts">
  import { ref, onMounted } from 'vue';
  import { useRoute, useRouter } from 'vue-router';
  import axios from 'axios';
  import '@/mork/mockData';
  import { ArrowLeft, ArrowRight, FullScreen, Star, StarFilled } from '@element-plus/icons-vue';
  import { ElImageViewer, ElMessage } from 'element-plus';
  
  const route = useRoute();
  const router = useRouter();
  
  // 定义接口数据类型
  interface Work {
    id: string;
    title: string;
    author: string;
    image_url: string;
    head_portrait: string;
    brief_introduction: string;
  }
  
  interface Character {
    character_name: string;
    image_url: string;
    title: string;
    positionJson: {
      x1: number;
      x2: number;
      y1: number;
      y2: number;
    }[];
  }
  
  interface DisplayCharacter {
    char: string;
    image: string;
    position: {
      x1: number;
      x2: number;
      y1: number;
      y2: number;
    };
  }
  
  // 响应式数据
  const calligrapher = ref<any>(null);
  const selectedWorkImage = ref<string>('');
  const displayedCharacters = ref<DisplayCharacter[]>([]);
  const isFavorite = ref(false);
  const charactersList = ref<HTMLElement | null>(null);
  const worksImagesRef = ref<HTMLElement | null>(null);
  const imageRefs = ref<any[]>([]);
  const favoriteWorks = ref<Set<string>>(new Set());
  const favoriteCharacters = ref<Set<string>>(new Set());
  
 // CalligrapherDetail.vue
 const fetchCalligrapherData = async () => {
  try {
    const response = await axios.get('http://localhost:8080/selectAllImages');
    const data = response.data.data;
    
    console.log('获取到的原始数据:', data);
    
    const authorId = route.params.id as string;
    console.log('当前作者ID:', authorId);
    
    const authorWorks = data.filter((work: Work) => work.id.toString() === authorId);
    console.log('当前作者的作品:', authorWorks);
    
    if (authorWorks.length > 0) {
      const firstWork = authorWorks[0];
      console.log('首个作品信息:', firstWork);
      
      const uniqueWorks = Array.from(new Set(
        data
          .filter((work: Work) => work.author === firstWork.author)
          .map(work => JSON.stringify(work))
      )).map(str => JSON.parse(str));
      
      calligrapher.value = {
        id: firstWork.id,
        name: firstWork.author,
        description: firstWork.brief_introduction,
        image: firstWork.head_portrait,
        worksImages: uniqueWorks.map((work: Work) => ({
          id: work.id,
          image: work.image_url,
          name: work.title
        }))
      };
      
      console.log('处理后的书法家信息:', calligrapher.value);
    } else {
      console.error('未找到应书法家');
    }
  } catch (error) {
    console.error('获取书法家数据失败:', error);
  }
};


  // 获取单字数据
 const fetchCharacters = async (workTitle: string) => {
  try {
    const response = await axios.get('http://localhost:8080/selectAllSingleCharacters');
    const data = response.data.data;
    
    // 先按作品标题过滤
    const filteredChars = data.filter(
      (char: Character) => char.title === workTitle
    );
    
    // 使用 Map 来去重，以 character_name 为键
    const uniqueCharsMap = new Map();
    filteredChars.forEach((char: Character) => {
      if (!uniqueCharsMap.has(char.character_name)) {
        // 解析 position 字符串
        const positionArr = JSON.parse(char.position);
        const position = {
          x1: positionArr[0],
          y1: positionArr[1],
          x2: positionArr[2],
          y2: positionArr[3]
        };
          
        uniqueCharsMap.set(char.character_name, {
          char: char.character_name,
          image: char.image_url,
          position: position
        });
      }
    });
    
    displayedCharacters.value = Array.from(uniqueCharsMap.values());
    console.log('处理后的单字数据:', displayedCharacters.value);
  } catch (error) {
    console.error('获取单字数据失败:', error);
  }
};
  
  // 选择作品时更新单字展示
  const selectWork = async (workImage: string) => {
    selectedWorkImage.value = workImage;
    const work = calligrapher.value?.worksImages.find(
      (w: any) => w.image === workImage
    );
    if (work) {
      await fetchCharacters(work.name);
    }
  };
  
  // 跳转到作品详情页
  const goToWorkDetail = () => {
    if (selectedWorkImage.value) {
      const selectedWork = calligrapher.value?.worksImages.find(
        (work: any) => work.image === selectedWorkImage.value
      );
      if (selectedWork) {
        router.push({ name: 'WorkDetail', params: { id: selectedWork.name } });
      }
    }
  };
  
  // 收藏功能
  const toggleFavorite = () => {
    isFavorite.value = !isFavorite.value;
  };
  
  // 添加收藏/取消收藏的方法
  const toggleWorkFavorite = (workId: string, event: Event) => {
    event.stopPropagation(); // 阻止事件冒泡
    
    if (favoriteWorks.value.has(workId)) {
      favoriteWorks.value.delete(workId);
      ElMessage.success('已取消收藏');
    } else {
      favoriteWorks.value.add(workId);
      ElMessage.success('收藏成功');
    }
  };
  
  // 添加单字收藏方法
  const toggleCharacterFavorite = (char: string, event: Event) => {
    event.stopPropagation();
    
    if (favoriteCharacters.value.has(char)) {
      favoriteCharacters.value.delete(char);
      ElMessage.success('已取消收藏');
    } else {
      favoriteCharacters.value.add(char);
      ElMessage.success('收藏成功');
    }
  };
  
  // 页面加载时获取数据
  onMounted(async () => {
    await fetchCalligrapherData();
  });
  
  const scrollCharacters = (direction: 'left' | 'right') => {
    if (!charactersList.value) return;
    
    const scrollAmount = 300; // 每次滚动的距离
    const currentScroll = charactersList.value.scrollLeft;
    const newScroll = direction === 'left' 
      ? currentScroll - scrollAmount 
      : currentScroll + scrollAmount;
      
    charactersList.value.scrollTo({
      left: newScroll,
      behavior: 'smooth'
    });
  };

  const scrollWorks = (direction: 'left' | 'right') => {
    if (!worksImagesRef.value) return;
    
    const scrollAmount = 200;
    const currentScroll = worksImagesRef.value.scrollLeft;
    const newScroll = direction === 'left' 
      ? currentScroll - scrollAmount 
      : currentScroll + scrollAmount;
      
    worksImagesRef.value.scrollTo({
      left: newScroll,
      behavior: 'smooth'
    });
  };

  // 添加图片预览相关的响应式数据和方法
  const handleImageClick = (imageUrl: string) => {
    // 阻止事件冒泡，避免触发 selectWork
    event?.stopPropagation();
    // 直接使用 el-image 的预览功能
  };

  const previewImage = (index: number, event: Event) => {
    event.stopPropagation();
    if (imageRefs.value[index]) {
      imageRefs.value[index].clickHandler();
    }
  };
  </script>
  
  <template>
    <div class="main-body">
      <div v-if="calligrapher" class="calligrapher-detail">
      <!-- 头像和简介区域 -->
      <section class="profile-section">
        <div class="header">
          <div class="profile">
            <img :src="calligrapher.image" alt="书法家头像" class="calligrapher-image" />
            <div class="name-bio">
              <div class="name">
                <h1>{{ calligrapher.name }}</h1>
              </div>
              <div class="bio">
                <p>{{ calligrapher.description }}</p>
              </div>
            </div>
          </div>
        </div>
      </section>
  
      <!-- 作品展示区域 -->
      <section class="works-section">
        <div class="scroll-button left" @click="scrollWorks('left')">
          <el-icon><ArrowLeft /></el-icon>
        </div>

        <div class="works-images" ref="worksImagesRef">
          <div
            v-for="(work, index) in calligrapher.worksImages"
            :key="index"
            class="work-thumbnail"
            @click="selectWork(work.image)"
          >
            <el-image 
              :src="work.image" 
              class="work-image"
              :hide-on-click-modal="true"
              fit="cover"
              :preview-src-list="[work.image]"
              :ref="el => { if (el) imageRefs[index] = el }"
            />
            <div class="favorite-button" @click="toggleWorkFavorite(work.id, $event)">
              <el-icon :size="20" :class="{ 'is-favorite': favoriteWorks.has(work.id) }">
                <star-filled v-if="favoriteWorks.has(work.id)" />
                <star v-else />
              </el-icon>
            </div>
            <p class="work-name">{{ work.name }}</p>

          </div>
        </div>

        <div class="scroll-button right" @click="scrollWorks('right')">
          <el-icon><ArrowRight /></el-icon>
        </div>
      </section>
  
      <!-- 单字展示区域 -->
      <section v-if="selectedWorkImage" class="characters-section">
        <div class="characters-container">
          <div v-if="displayedCharacters.length > 0" class="scroll-button left" @click="scrollCharacters('left')">
            <el-icon><ArrowLeft /></el-icon>
          </div>
          
          <div v-if="displayedCharacters.length > 0" class="characters-list" ref="charactersList">
            <div v-for="(character, index) in displayedCharacters" 
                 :key="index" 
                 class="character-card">
              <div class="character-box-wrapper">
                <div class="character-box"
                     :style="{
                       backgroundImage: `url(${character.image})`,
                       backgroundPosition: `-${character.position.x1}px -${character.position.y1}px`,
                       width: `${character.position.x2 - character.position.x1}px`,
                       height: `${character.position.y2 - character.position.y1}px`,
                       transform: `translate(-50%, -50%) scale(${80 / (character.position.x2 - character.position.x1)})`,
                       transformOrigin: 'center'
                     }">
                </div>
                <div class="character-favorite-button" @click="toggleCharacterFavorite(character.char, $event)">
                  <el-icon :size="20" :class="{ 'is-favorite': favoriteCharacters.has(character.char) }">
                    <star-filled v-if="favoriteCharacters.has(character.char)" />
                    <star v-else />
                  </el-icon>
                </div>
              </div>
              <p>{{ character.char }}</p>
            </div>
          </div>
          <div v-else class="no-characters-message">
            未识别到单字
          </div>

          <div v-if="displayedCharacters.length > 0" class="scroll-button right" @click="scrollCharacters('right')">
            <el-icon><ArrowRight /></el-icon>
          </div>
        </div>
      </section>
  
      <!-- 底部按钮 -->
      <!-- <div class="fixed-footer">
        <button @click="goToWorkDetail">作品详情</button>
        <button @click="toggleFavorite" :class="{ 'active': isFavorite }">
          {{ isFavorite ? '已收藏' : '收藏' }}
        </button>
      </div> -->
    </div>
  
    <div v-else class="error">
      <p>未找到对应的书法家信息。</p>
    </div>
  </div>
  </template>
      
    <style scoped>
      .main-body {
        margin-left: 100px;
        padding: 40px;
        height: calc(100vh - 80px); 
        background-color: #f5f5f5;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        overflow: hidden; 
    }

   
    .calligrapher-detail {
      width: 1200px;
      margin: 0 auto;
      padding: 30px;
      background-color: #fff;
      border-radius: 12px;
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
      overflow: hidden; 
    }
    
    .profile-section {
      padding: 20px;
      border-radius: 8px;
      margin-bottom: 40px;
      width: 100%;  /* 使用百分宽度 */
      box-sizing: border-box;  /* 添加这行确保padding包含在宽度内 */
      background-color: #fff;
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
    }

        
/* 作品展示区域样式 */
.works-section {
  padding: 0px;
  border-radius: 8px;
  margin-bottom: 10px;
  width: 1000px;
  position: relative;
  margin: 0 auto;
}

/* 修改作品图片容器样式 */
.works-images {
  display: flex;
  gap: 15px;
  padding: 10px 40px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* 修改缩略图容器样式 */
.work-thumbnail {
  position: relative;
  flex: 0 0 auto;
  width: 180px;
  height: 135px;  /* 恢复原来的高度 */
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;  /* 改回 hidden */
  transition: transform 0.3s;
  padding-top: 0;  /* 移除顶部padding */
}

/* 修改图片容器样式 */
.work-image {
  width: 100%;
  height: 100%;  /* 使用完整高度 */
  object-fit: cover;
  border-radius: 8px;
}

/* 修改收藏按钮样式 */
.favorite-button {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.9);  /* 半透明白色背景 */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  z-index: 2;
  backdrop-filter: blur(2px);  /* 添加模糊效果 */
}

.favorite-button:hover {
  transform: scale(1.1);
  background-color: #ffffff;  /* 悬停时变为不透明 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* 修改作品名称样式 */
.work-name {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 5px 10px;
  font-size: 14px;
  text-align: center;
  width: calc(100% - 20px);
  border-radius: 4px;
}

/* 修改图标颜色 */
.favorite-button .el-icon {
  color: #909399;
}

.favorite-button:hover .el-icon {
  color: #ffd700;
}

/* 已收藏状态的图标颜色 */
.favorite-button .el-icon.is-favorite {
  color: #ffd700;
}

/* 调整滚动按钮位置 */
.scroll-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1;
}

.scroll-button.left {
  left: 0;
}

.scroll-button.right {
  right: 0;
}

/* 隐藏滚动条 */
.works-images::-webkit-scrollbar {
  display: none; /* Chrome, Safari and Opera */
}

/* 缩略图图片样式 */
.work-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 作品名称样式 */
.work-name {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  background-color: rgba(0, 0, 0, 0.2);
  padding: 5px 10px;
  font-size: 14px;
  text-align: center;
  width: calc(100% - 40px);
}

    .search-section {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 500px;
    margin-bottom: 50px;
    background-color: #fff;
    border-radius: 50px;
    padding: 3px 15px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin: 0 auto; 
    margin-top: 40px;
    }
    
    .characters-section {
        padding: 0px;
      border-radius: 8px;
      margin-bottom: 20px;
      width: 1000px;
      margin: 0 auto; 
    }
    
    .header {
      display: flex;
      align-items: flex-start;
      gap: 15px;
    }
    
    .profile {
      display: flex;
      align-items: flex-start;
    }
    
    .calligrapher-image {
      width: 120px;
      height: 120px;
      object-fit: cover;
      border-radius: 50%;
      border: 3px solid #ddd;
    }
    
    .name-bio {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 20px;
    margin-top: 25px;
    }
    
    .name h1 {
      font-size: 28px;
      font-weight: bold;
      margin: 0;
    }

    .bio p {
      font-size: 18px;
      color: #555;
      margin: 5px 0;
    }
    
    /* 单字展示区域样式 */
    .characters-section {
      padding: 10px;
      border-radius: 8px;
      margin-bottom: 20px;
      width: 1000px;
      margin: 0 auto; /* 居中显示 */
    }

    /* 单字列表容器 */
    .characters-list {
      display: flex;
      gap: 20px;
      overflow-x: auto;
      scroll-behavior: smooth;
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE and Edge */
      padding: 10px 0;
    }

    /* 单字卡片样式 */
    .character-card {
      position: relative;
      background-color: #f9f9f9;
      border: 1px solid #ddd;
      border-radius: 10px;
      cursor: pointer;
      overflow: visible;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s;
      width: 120px;
      height: 130px;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 10px;
      margin: 10px;
    }

    .character-box-wrapper {
      position: relative;
      width: 90px;
      height: 90px;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: visible;
      border-radius: 8px;
      margin-bottom: 5px;
    }

    .character-box {
      position: absolute;
      top: 50%;
      left: 50%;
      background-repeat: no-repeat;
      background-size: auto;
      transform-origin: center;
      cursor: pointer;
    }

    /* 调整字符名称的位置 */
    .character-card p {
      position: absolute;
      bottom: 8px;
      left: 50%;
      transform: translateX(-50%);
      margin: 0;
      font-size: 14px;
      color: #333;
      text-align: center;
    }

    .fixed-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-around;
    padding: 15px 0;
    }

    .fixed-footer button {
    padding: 20px 30px; 
    font-size: 18px; 
    border: none;
    background-color: #007bff;
    color: white;
    border-radius: 8px; 
    cursor: pointer;
    transition: all 0.3s ease;
    }

    .fixed-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-around;
    padding: 15px 0;
    }

    .fixed-footer button {
    width: 150px;  
    height: 70px; 
    font-size: 18px;
    border: none;
    background-color: #007bff;
    color: white;
    border-radius: 100px; 
    cursor: pointer;
    transition: all 0.3s ease; 
    }

    .fixed-footer button.active {
    background-color: white !important;
    border: 2px solid #007bff;
    color: #007bff !important;
    }

    .fixed-footer button:hover {
    background-color: #0056b3 !important; /* 鼠标悬浮时背景色变深 */
    }

    .fixed-footer button.active:hover {
    background-color: #007bff !important; /* 确保已收藏状态按钮悬浮时的样式 */
    }

    .fixed-footer button:focus {
    outline: none; /* 防止按钮聚焦时显示默认的蓝色边框 */
    }

    .fixed-footer button + button {
    margin-left: -800px; 
    }
    
    .error {
      text-align: center;
      color: red;
      font-size: 20px;
    }

    .character-box-wrapper {
      width: 100px;
      height: 100px;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: visible;
      position: relative;
      border-radius: 8px;
    }

    .character-box {
      position: absolute;
      top: 50%;
      left: 50%;
      background-repeat: no-repeat;
      background-size: auto;
      transform-origin: center;
      cursor: pointer;
    }

    .character-card {
      position: relative;
      background-color: #f9f9f9;
      border: 1px solid #ddd;
      border-radius: 10px;
      cursor: pointer;
      overflow: visible;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s;
      width: 120px;
      height: 130px;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 10px;
      margin: 10px;
    }

    .characters-container {
      position: relative;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 0 40px;
    }

    .characters-list {
      display: flex;
      gap: 20px;
      overflow-x: auto;
      scroll-behavior: smooth;
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE and Edge */
      padding: 20px 0;
    }

    .characters-list::-webkit-scrollbar {
      display: none; /* Chrome, Safari and Opera */
    }

    .scroll-button {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background-color: #fff;
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 1;
      transition: all 0.3s ease;
    }

    .scroll-button:hover {
      background-color: #f5f7fa;
      box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
    }

    .scroll-button.left {
      left: 0;
    }

    .scroll-button.right {
      right: 0;
    }

    /* 修改现有的样式 */
    .character-card {
      flex: 0 0 auto; /* 防止��片被压缩 */
      width: 120px; /* 设置固定宽度 */
    }

    .characters-section {
      position: relative;
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      padding: 0;
      overflow: hidden;
    }

    .no-characters-message {
      width: 100%;
      text-align: center;
      padding: 20px 0;
      color: #909399;
      font-size: 16px;
      background: #f5f7fa;
      border-radius: 8px;
    }

    .work-thumbnail {
      position: relative;
      flex: 0 0 auto;
      width: 180px;
      height: 135px;
      cursor: pointer;
      border-radius: 8px;
      overflow: hidden;
      transition: transform 0.3s;
    }

    .work-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .fullscreen-button {
      position: absolute;
      top: 8px;
      right: 8px;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.8);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      opacity: 0;
      transition: opacity 0.3s;
      z-index: 2;
    }

    .fullscreen-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
    }

    .work-thumbnail:hover .fullscreen-button {
      opacity: 1;
    }

    .fullscreen-button:hover {
      background-color: #fff;
    }

    /* 自定义 tooltip 样式 */
    :deep(.el-tooltip__popper) {
      font-size: 12px;
      padding: 4px 8px;
    }

    /* 自定义 el-image-viewer 预览图片的样式 */
    :deep(.el-image-viewer__wrapper) {
      .el-image-viewer__img {
        min-width: 450px !important;
        max-width: 90vw !important;
        height: auto !important;
      }
    }

    /* 添加单字收藏按钮样式 */
    .character-box-wrapper {
      position: relative;
      width: 100px;
      height: 100px;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: visible;
      border-radius: 8px;
    }

    .character-favorite-button {
      position: absolute;
      top: -5px;
      right: -5px;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.9);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
      transition: all 0.3s ease;
      z-index: 2;
      backdrop-filter: blur(2px);
      opacity: 0;
    }

    .character-card:hover .character-favorite-button {
      opacity: 1;
    }

    .character-favorite-button:hover {
      transform: scale(1.1);
      background-color: #ffffff;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    .character-favorite-button .el-icon {
      color: #909399;
    }

    .character-favorite-button:hover .el-icon {
      color: #ffd700;
    }

    .character-favorite-button .el-icon.is-favorite {
      color: #ffd700;
    }

    /* 调整单字卡片样式 */
    .character-card {
      position: relative;
      background-color: #f9f9f9;
      border: 1px solid #ddd;
      border-radius: 10px;
      cursor: pointer;
      overflow: visible;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s;
      width: 120px;
      height: 130px;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 10px;
      margin: 10px;
    }

    .character-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    }
    </style>
    